package com.ticorp.salmofood.controller;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.multiaction.MultiActionController;

import com.ticorp.salmofood.common.Constantes;
import com.ticorp.salmofood.common.ConstantesView;
import com.ticorp.salmofood.service.TracingProductoTerminadoService;
import com.ticorp.salmofood.viewmodel.TracingProductoTerminadoCommand;

public class TracingProductoTerminadoController extends MultiActionController {

    // INYECCION DE DEPENDENCIAS tracingProductoTerminadoService
    private TracingProductoTerminadoService tracingProductoTerminadoService;

    public TracingProductoTerminadoService getTracingProductoTerminadoService() {
	return tracingProductoTerminadoService;
    }

    public void setTracingProductoTerminadoService(TracingProductoTerminadoService tracingProductoTerminadoService) {
	this.tracingProductoTerminadoService = tracingProductoTerminadoService;
    }

    // ABRIR PAGINA DE TRACING DE PRODUCTO TERMINADO
    public ModelAndView irTracingProductoTerminado(HttpServletRequest request, HttpServletResponse response) {
	String numeroPedido = request.getParameter("hid_LF_numeropedido");

	Map model = new HashMap();

	List listaDistribucionEntregas = getTracingProductoTerminadoService().getListaDistribucionEntregas();
	List listaPedidoProduccion = getTracingProductoTerminadoService().getListaPedidoProduccion();
	List listaAditivosSolicitados = getTracingProductoTerminadoService().getListaAditivosSolicitados();
	List listaDetalleProduccion = getTracingProductoTerminadoService().getListaDetalleProduccion();

	TracingProductoTerminadoCommand command = new TracingProductoTerminadoCommand();
	command.setNumeroPedido(numeroPedido);
	command.setListaDistribucionEntregas(listaDistribucionEntregas);
	command.setListaPedidoProduccion(listaPedidoProduccion);
	command.setListaAditivosSolicitados(listaAditivosSolicitados);
	command.setListaDetalleProduccion(listaDetalleProduccion);

	model.put(Constantes.TRACING_PRODUCTO_TERMINADO, command);

	return new ModelAndView(ConstantesView.VIEW_TRACING_PRODUCTO_TERMINADO, model);
    }
}
